// 静态成员: 在类中通过static修饰的属性或者方法,那么就是静态的属性及静态的方法,也称之为:静态成员
// 静态成员在使用的时候是通过类名.的这种语法调用的
(() => {
  // 定义一个类
  class Person {
    //   类中默认有一个内置的name属性，所以此时会出现错误的提示信息
    // 静态属性
    static name1: string = "小天";
    // constructor(name1: string) {
    //   // 此时this是实例对象，name1是静态属性，不能通过实例对象直接调用静态属性来使用
    //   this.name1 = name1;
    // }

    static sayHi() {
      console.log("你好");
    }
  }

  //   实例化对象
  //   const person: Person = new Person("三弟");
  //   通过实例对象调用的属性（实例属性）
  //   console.log(person.name1);
  // 通过实例对象调用方法（实例方法)
  //   person.sayHi();

  //   通过类名,静态属性的方式来 访问 该成员数据
  console.log(Person.name1);
  //   通过类名,静态属性的方式来 设置 该成员数据
  Person.name1 = "大大天";
  console.log(Person.name1);
  // 通过类名.静态方法的方式来调用内部的静态方法
  Person.sayHi()
})();
